/**
  ******************************************************************************
  * @file           : SEC_LEAD.h
  * @author         : sally
  * @brief          : None
  * @attention      : None
  * @date           : 24-11-11
  ******************************************************************************
  */

#ifndef SEC_LEAD_H
#define SEC_LEAD_H

#include <any>

#include "UdpService.h"
#include "globalDefine.h"
#include "nodeDiscovery.pb.h"

namespace droneswarm
{

    class SEC_LEAD
    {
    public:
        SEC_LEAD(const std::string& ip, const uint16_t& port);
        void sendHelloMessage(const std::string &message);

        void handleHelloMessage();
    private:
        std::string generateHelloMessage();
    private:
        std::string m_id;
        std::string m_ip;
        uint16_t m_port;
        std::unique_ptr<UdpService> m_udp_service;

    };
} // droneswarm

#endif //SEC_LEAD_H
